<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Lazarus Component Library</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Lazarus_Component_Library"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Lazarus_Component_Library rootpage-Lazarus_Component_Library skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Lazarus Component Library</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p>Die <b>Lazarus Component Library</b> (<b>LCL</b>; deutsch <i>Lazarus-Komponentenbibliothek</i>) ist ein plattformübergreifendes <a href="GUI-Toolkit" title="GUI-Toolkit">GUI-Toolkit</a> der <a href="Free_Pascal" title="Free Pascal">Free-Pascal</a>-<a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">Entwicklungsumgebung</a> <a href="Lazarus_(Entwicklungsumgebung)" title="Lazarus (Entwicklungsumgebung)">Lazarus</a>.
</p><p>Die LCL besteht aus einer Sammlung von <a href="Unit_(Programmiersprache_Pascal)" title="Unit (Programmiersprache Pascal)">Units</a>, die <a href="Komponente_(Software)" class="mw-redirect" title="Komponente (Software)">Komponenten</a> und <a href="Klasse_(Objektorientierung)" title="Klasse (Objektorientierung)">Klassen</a> insbesondere für visuelle Aufgaben bereitstellen. Sie baut auf den Bibliotheken <a href="Free_Pascal_Runtime_Library" title="Free Pascal Runtime Library">RTL</a> und <a href="Free_Component_Library" title="Free Component Library">FCL</a> auf.
</p>
<div class="mw-heading mw-heading2"><h2 id="Einzelheiten">Einzelheiten</h2></div>
<p>Die LCL ermöglicht die Entwicklung von Anwendungen mit nativer <a href="Grafische_Benutzeroberfl%C3%A4che" title="Grafische Benutzeroberfläche">grafischer Benutzeroberfläche</a>. Dies wird durch die Nutzung plattformspezifischer <span lang="en"><i><a href="Widget" title="Widget">Widgetsets</a></i></span> erreicht, die für die <a href="Betriebssystem" title="Betriebssystem">Betriebssysteme</a> <a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a>, <a href="MacOS" title="MacOS">macOS</a> und <a href="Android_(Betriebssystem)" title="Android (Betriebssystem)">Android</a> verfügbar sind. Damit wird es ermöglicht, den Anspruch von Lazarus <i>write once, compile anywhere</i> umzusetzen.
</p><p>Widgetsets stellen die Schnittstelle für die Anbindung an das jeweilige Betriebssystem einschließlich seiner <a href="Steuerelement" title="Steuerelement">Steuerelemente</a> (Widgets) bereit. Üblicherweise ist es nicht erforderlich, das Widgetset direkt anzusprechen, da dies durch die jeweiligen visuellen Komponenten (z. B. <i>TEdit</i>) automatisch geschieht. Dadurch wird gewährleistet, dass plattformunabhängiger Quellcode zu einer plattformnativen Anwendung übersetzt wird. Die Widgetsets stellen jedoch auch <a href="Klasse_(Objektorientierung)" title="Klasse (Objektorientierung)">Klassen</a> bereit, die direkt von der Software angesprochen werden können.
</p><p>Die LCL ist mit mehreren hierarchischen Klassensystemen, die miteinander verzahnt sind, unterlegt. Die plattformunabhängige Schicht implementiert Steuerelemente, die im Formulardesigner entworfen werden können und für alle <a href="Betriebssystem" title="Betriebssystem">Betriebssysteme</a> definiert werden. Die zugehörigen Komponenten sind von der LCL-Klasse <i>TLCLComponent</i> abgeleitet. Die konkrete Implementierung geschieht dann in einer plattformabhängigen Schicht, welche die abstrakten Basisklassen im LCL-Interface umsetzt und an das jeweilige <a href="GUI-Toolkit" title="GUI-Toolkit">GUI-Toolkit</a> anbindet.
</p>
<div class="mw-heading mw-heading2"><h2 id="Verfügbare_Widgetsets"><span id="Verf.C3.BCgbare_Widgetsets"></span>Verfügbare Widgetsets</h2></div>
<p>Derzeit (Frühjahr 2020) sind die folgenden Widgetsets verfügbar oder in Entwicklung:
</p>
<table class="wikitable sortable">
<tbody><tr>
<th>Widgetset</th>
<th>Unterstützte Betriebssysteme</th>
<th>Status
</th></tr>
<tr>
<td><a href="Windows_API" class="mw-redirect" title="Windows API">Windows API</a>, <a href="Graphics_Device_Interface" title="Graphics Device Interface">GDI</a></td>
<td><a href="Microsoft_Windows" title="Microsoft Windows">Windows</a></td>
<td class="hintergrundfarbe9" data-sort-value="3">Stabil, produktiv benutzbar
</td></tr>
<tr>
<td>Windows CE API, <a href="Graphics_Device_Interface" title="Graphics Device Interface">GDI</a></td>
<td><a href="Windows_CE" class="mw-redirect" title="Windows CE">Windows CE</a></td>
<td class="hintergrundfarbe9" data-sort-value="3">Stabil, produktiv benutzbar
</td></tr>
<tr>
<td><a href="GTK%2B" class="mw-redirect" title="GTK+">GTK+</a> 1.2.<i>x</i></td>
<td><a href="Linux" title="Linux">Linux</a> (via <a href="X11" class="mw-redirect" title="X11">X11</a>)</td>
<td class="hintergrundfarbe7" data-sort-value="1">Teilweise umgesetzt, veraltet
</td></tr>
<tr>
<td>GTK+ 2.8+</td>
<td><a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a> (<a href="X11" class="mw-redirect" title="X11">X11</a> und framebuffer) und <a href="MacOS" title="MacOS">macOS</a> (via <a href="X11" class="mw-redirect" title="X11">X11</a>)</td>
<td class="hintergrundfarbe9" data-sort-value="3">Stabil, produktiv benutzbar
</td></tr>
<tr>
<td>GTK+ 3.x</td>
<td><a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a> (<a href="X11" class="mw-redirect" title="X11">X11</a> und framebuffer) und <a href="MacOS" title="MacOS">macOS</a> (via <a href="X11" class="mw-redirect" title="X11">X11</a>)</td>
<td class="hintergrundfarbe8" data-sort-value="2">In Entwicklung
</td></tr>
<tr>
<td><a href="Qt_(Bibliothek)" title="Qt (Bibliothek)">Qt</a> 4.5+</td>
<td><a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a> (<a href="X11" class="mw-redirect" title="X11">X11</a> und framebuffer), <a href="MacOS" title="MacOS">macOS</a></td>
<td class="hintergrundfarbe9" data-sort-value="3">Stabil, produktiv benutzbar.<br>Verfügbar für Windows, Linux, Mac OS X, Maemo, etc.<br>Software benötigt Zusatzbibliothek.
</td></tr>
<tr>
<td><a href="Cocoa_(API)" title="Cocoa (API)">Cocoa</a></td>
<td><a href="MacOS" title="MacOS">macOS</a></td>
<td class="hintergrundfarbe8" data-sort-value="2">In Entwicklung, eingeschränkt produktiv nutzbar
</td></tr>
<tr>
<td><a href="Carbon_(Apple)" title="Carbon (Apple)">Carbon</a></td>
<td><a href="MacOS" title="MacOS">macOS</a></td>
<td class="hintergrundfarbe9" data-sort-value="3">Stabil, produktiv benutzbar. Von macOS 10.15 Catalina und später aber nicht mehr unterstützt.
</td></tr>
<tr>
<td>fpGUI</td>
<td><a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Windows_CE" class="mw-redirect" title="Windows CE">Windows CE</a>, <a href="Linux" title="Linux">Linux</a> (via <a href="X11" class="mw-redirect" title="X11">X11</a>)</td>
<td class="hintergrundfarbe8" data-sort-value="2">In Entwicklung
</td></tr>
<tr>
<td>Lazarus Custom Drawn Controls</td>
<td><a href="Android_(Betriebssystem)" title="Android (Betriebssystem)">Android</a>, <a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a> (via <a href="X11" class="mw-redirect" title="X11">X11</a>), <a href="MacOS" title="MacOS">macOS</a></td>
<td class="hintergrundfarbe8" data-sort-value="2">In Entwicklung
</td></tr>
<tr>
<td><a href="Magic_User_Interface" title="Magic User Interface">Magic User Interface</a></td>
<td><a href="MorphOS" title="MorphOS">MorphOS</a></td>
<td class="hintergrundfarbe8" data-sort-value="2">In Entwicklung
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>M. Van Canneyt, M. Gärtner, S. Heinig, F. Monteiro de Carvalho, I. Ouedrago. <i>Lazarus – Arbeiten mit IDE und Klassenbibliothek</i>. C&L-Verlag, Böblingen 2010, ISBN 978-3-936546-38-5.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://wiki.freepascal.org/LCL/de">Dokumentation der LCL</a> im Free Pascal Wiki</li>
<li><a rel="nofollow" class="external text" href="https://lazarus-ccr.sourceforge.io/docs/lcl/">Vollständige Online-Referenz</a></li>
<li><a rel="nofollow" class="external text" href="https://wiki.freepascal.org/Accessing_the_Interfaces_directly">Anleitung zum direkten Zugriff auf Widgetsets</a> im Free Pascal Wiki</li>
<li><a rel="nofollow" class="external text" href="https://wiki.lazarus.freepascal.org/Widgetset">Regelmäßig aktualisierte Übersicht über den Entwicklungsstatus der Widgetsets</a> im Lazarus Wiki</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-06-14" href="https://de.wikipedia.org/wiki/?title=Lazarus_Component_Library&oldid=245900027">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>